package com.yanqu.road.utils.range;

public class RangeLong {
	public long start = 0L; // 开始时间戳
	public long end = 0L; // 结束时间戳

	public RangeLong() {
		
	}

	public RangeLong(long start, long end) {
		if (start > 0) {
			this.start = start;
		}
		if (end > 0) {
			this.end = end;
		}
	}

	@Override
	public String toString() {
		return new StringBuilder().append(start).append(",").append(end).toString();
	}
	
	@Override
	public int hashCode() {
		// 不能使用整形数组的hashCode()方法，因为new int[]，即使数组里的数据都一样，hashCode()的值也不一样的
		return toString().hashCode();
	}

	@Override
	public boolean equals(Object obj) {
		if (null == obj) {
			return false;
		}
		if (this == obj) {
			return true;
		}

		if (obj instanceof RangeLong) {
			RangeLong rangeLong = (RangeLong) obj;
			if (this.start == rangeLong.start && this.end == rangeLong.end) {
				return true;
			}
		}
		return false;
	}

	/**
	 * 是否零值
	 * 
	 * @return
	 */
	public boolean isZero() {
		if (start == 0L && end == 0L) {
			return true;
		} else {
			return false;
		}
	}

	/**
	 * 设置值
	 * 
	 * @param obj
	 */
	public void setValue(RangeLong obj) {
		if (obj != null) {
			this.start = obj.start;
			this.end = obj.end;
		}
	}

}
